package com.chinacoal.hr.levelimpl.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinacoal.hr.levelapi.entity.HolidayLaws;

import java.util.Date;
import java.util.Map;

public interface HolidayLawsService {

    /**
     * 查询假期排班列表
     *
     * @return : com.baomidou.mybatisplus.core.metadata.IPage<com.chinacoal.hr.levelimpl.entity.HolidayLaws>
     * @author : YunTao.Li
     * @date : 2019/12/18 2019/12/18
     */
    public IPage<HolidayLaws> getHolidayLawsList(long page, long limit, String year, String hdate) throws Throwable;

    /**
     * 新增假期排版信息
     *
     * @param record :
     * @return : java.util.Map<java.lang.String,java.lang.String>
     * @author : YunTao.Li
     * @date : 2019/12/18 2019/12/18
     */
    public Map<String, String> insertHolidayLaw(HolidayLaws record) throws Throwable;

    /**
     * 更新假期排班信息
     *
     * @param record :
     * @return : java.util.Map<java.lang.String,java.lang.String>
     * @author : YunTao.Li
     * @date : 2019/12/18 2019/12/18
     */
    public Map<String, String> updateHolidayLaw(HolidayLaws record) throws Throwable;

    /**
     * 删除假期排版信息
     *
     * @param holidayId :
     * @return : java.util.Map<java.lang.String,java.lang.String>
     * @author : YunTao.Li
     * @date : 2019/12/18 2019/12/18
     */
    public Map<String, String> deleteHolidayLaw(String holidayId) throws Throwable;

    /**
     * 返回传入的日期是否法定假日或者正常上班
     * 比如2020-10-10日是周六，但是数据返回2，则这一天正常上班
     * 比如2020-10-07日是周四，但是数据返回1，则这一天为法定假日
     *
     * @author : YunTao.Li
     * @date : 2020/7/23 2020/7/23
     * @param date :
     * @return : java.lang.String 0数据不存在，1法定假日，2正常上班
     *
     */
    public String getHolidayHType(Date date);
}
